package me.zhengjie.modules.lock.service;

import me.zhengjie.modules.lock.service.dto.LockDeviceInfoDetailDTO;
import me.zhengjie.modules.lock.service.dto.LockDeviceInfoUnbindDTO;
import me.zhengjie.modules.lock.service.dto.LockLeaseBackCloseDTO;
import me.zhengjie.modules.lock.service.vo.LockDeviceInfoDetailReqVO;
import me.zhengjie.modules.lock.service.vo.LockDeviceInfoListReqVO;
import me.zhengjie.modules.lock.service.vo.LockDeviceInfoUnbindReqVO;
import me.zhengjie.modules.lock.service.vo.LockLeaseBackCloseReqVO;
import org.springframework.data.domain.Pageable;

import java.util.Map;

public interface LockDeviceService {
    /**
     * 查询设备列表
     *
     * @param reqVO
     * @param pageable
     * @return
     */
    Map<String, Object> selectLockInfoList(LockDeviceInfoListReqVO reqVO, Pageable pageable);

    /**
     * 查询门锁详情
     *
     * @param reqVO
     * @return
     */
    LockDeviceInfoDetailDTO detail(LockDeviceInfoDetailReqVO reqVO);

    /**
     * 门锁解绑
     *
     * @param reqVO
     * @return
     */
    LockDeviceInfoUnbindDTO unbind(LockDeviceInfoUnbindReqVO reqVO);

    /**
     * 关闭售后
     *
     * @param reqVO
     * @return
     */
    LockLeaseBackCloseDTO closeLockLeaseBack(LockLeaseBackCloseReqVO reqVO);
}
